// 创建一个路由器，并暴露出去

// 第一步：引入createRouter
import { createRouter, createWebHistory } from 'vue-router'
// 引入一个一个可能要呈现组件
import Home from '@/pages/Home.vue'
import News from '@/pages/News.vue'
import About from '@/pages/About.vue'
import Detail from '@/pages/Detail.vue'

// 第二步：创建路由器
const router = createRouter({
  history: createWebHistory(), //路由器的工作模式（稍后讲解）
  routes: [
    //一个一个的路由规则
    {
      path: '/', // 路由重定向：http://localhost:5173/ 会自动重定向到 http://localhost:5173/home
      redirect: '/home',
    },
    {
      path: '/home',
      component: Home,
    },
    {
      path: '/news',
      component: News,
      children: [
        {
          name: 'xinwen',
          component: Detail,
          // 第一种写法：只能 将路由收到的所有 params参数 作为 props 传给路由组件
          // path: 'detail/:id/:title?/:content',
          // props: true,
          //  第二种写法：函数写法，可以自己决定将什么作为props给路由组件
          path: 'detail',
          props(route) {
            console.log('==>', route)
            // 比如这里将 route 里 query 信息传给 目标路由组件
            return route.query
          },
          // 第三种写法：对象写法，可以自己决定将什么作为props给路由组件
          // props: {
          //   a: 100,
          //   b: 200,
          //   c: 300,
          // },
        },
      ],
    },
    {
      path: '/about',
      component: About,
    },
  ],
})

export default router
